#include <vector>
#include <iostream> 
#include <list>

using namespace std;

enum Status {
  verde,
  amarillo,
  rojo
};

class Resorte
{
public:
  Status status;
  int potencia;
  Resorte(int pot){potencia = pot; status = verde;}
  Resorte(){potencia = 0; status = verde;}
};

class Coordenada
{
public:
 int x,y; 
 Coordenada(int new_x, int new_y);
 
 bool operator ==(const Coordenada &a)
  {
    bool rVal = false;
    if (a.x == x)
      if(a.y == y)
        rVal = true;
    return rVal;
  }
};


class Tablero{
public:
  int  tamanio, pos_ini_x,pos_ini_y,pos_fin_x,pos_fin_y,k;
  vector<int> usadas;
  vector<vector <Resorte> > posiciones;
  Tablero();
};

list <Coordenada> pedir_entrada(Tablero &t);
list <Coordenada> eliminarPosiciones(Tablero &t, list <Coordenada> &coordenadas, Coordenada coordenada);